home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog 100
/
FreelogNo100-NovembreDecembre2010.iso
/
Musique
/
jokosher
/
jokosher_setup_0.11.4.exe
/
{app}
/
extensions
/
jokosher-dbus.py
< prev
next >
Wrap
Text File
|
2009-01-08
|
1KB
|
54 lines
import Jokosher.Extension
import gobject
import dbus
import dbus.service
#if we are using the old version of dbus, we need dbus's glib too.
if getattr(dbus, 'version', (0,0,0)) >= (0,41,0):
import dbus.glib
# Extension meta information
EXTENSION_NAME = "Jokosher DBus API"
EXTENSION_DESCRIPTION = "Allows other processes to call Jokosher extension API functions using DBus"
EXTENSION_VERSION = "0.1"
# Extension constants
JOKOSHER_DBUS_PATH = "/org/gnome/Jokosher"
JOKOSHER_DBUS_NAME = "org.gnome.Jokosher"
class HelloWorldObject(dbus.service.Object):
def __init__(self, bus_name, object_path=JOKOSHER_DBUS_PATH):
dbus.service.Object.__init__(self, bus_name, object_path)
## DBus API Methods ##
#_______________________________________
@dbus.service.method(JOKOSHER_DBUS_NAME)
def play(self):
API.play()
@dbus.service.method(JOKOSHER_DBUS_NAME)
def stop(self):
API.stop()
## DBus API Signals ##
#_______________________________________
@dbus.service.signal(JOKOSHER_DBUS_NAME)
def signal_play(self, message):
pass
@dbus.service.signal(JOKOSHER_DBUS_NAME)
def signal_stop(self, message):
pass
#initialize the extension
def startup(api):
global API, dbusObject
API = api
session_bus = dbus.SessionBus()
bus_name = dbus.service.BusName('org.gnome.Jokosher', bus=session_bus)
dbusObject = HelloWorldObject(bus_name)
#disable/shutdown the extension
def shutdown():
#TODO, remove the org.gnome.Jokosher dbus service
pass